/*
 * Powered By [rapid-framework]
 * Csdn Code: generate simple CRUD code in single table.
 * Since 2015 - 2017
 */

BUI.use('common/page');
BUI
		.use(
				[ 'common/search', 'bui/overlay', 'bui/grid', 'bui/data',
						'bui/form' ],
				function(Search, Overlay, Grid, Data, Form) {
					var bannerEnum = {
						'1' : '横条Banner',
						'2' : '弹窗Banner',
					};
					var bannerstatus = {
						'1' : '有效',
						'0' : '无效',
					};
					var form = '';
					// 查询表单
					var form = new Form.Form({
						srcNode : '#searchForm'
					}).render();
					var i = -1;
					// 定义表头
					columns = [
							{
								title : 'id',
								dataIndex : 'bannerId',
								visible : false
							},
							{
								title : '广告类型',
								render:'.test',
								dataIndex : 'bannerType',
								elCls : 'center',
								width : 120,
								editor : {
									xtype : 'select',
									items : bannerEnum,
									rules : {
										required : [ true, '广告类型不能为空!' ]
									}
								},
								renderer : BUI.Grid.Format
										.enumRenderer(bannerEnum)
							},
							{
								title : '广告封面',
								dataIndex : 'bannerImg',
								elCls : 'center',
								width : 320,
								editor : {
									xtype : 'text',
									rules : {
										required : [ true, '广告封面不能为空!' ]
									}
								}
							},
							{
								title : '广告跳转',
								dataIndex : 'bannerUrl',
								elCls : 'center',
								width : 320,
								editor : {
									xtype : 'text',
									rules : {
										required : [ true, '广告跳转不能为空!' ]
									}
								}
							},
							{
								title : '广告状态',
								dataIndex : 'bannerStatus',
								elCls : 'center',
								width : 120,
								editor : {
									xtype : 'select',
									items : bannerstatus,
									rules : {
										required : [ true, '广告状态不能为空!' ]
									}
								},
								renderer : BUI.Grid.Format
										.enumRenderer(bannerstatus)
							},
							{
								title : '产品id',
								dataIndex : 'productId',
								elCls : 'center',
								width : 120,
								editor : {
									xtype : 'select',
									items : "--",
									rules : {
										required : [ true, '产品id不能为空!' ]
									}
								},
								renderer : BUI.Grid.Format.enumRenderer("--")
							},
							{
								title : '创建时间',
								dataIndex : 'createTime',
								elCls : 'center',
								width : 120,
								editor : {
									xtype : 'date',
									datePicker : {
										showTime : true
									},
									rules : {
										required : [ true, '最后创建时间不能为空!' ]
									}
								},
								renderer : BUI.Grid.Format.datetimeRenderer
							},
							{
								title : '最后更新时间',
								dataIndex : 'updateTime',
								elCls : 'center',
								width : 120,
								editor : {
									xtype : 'date',
									datePicker : {
										showTime : true
									},
									rules : {
										required : [ true, '最后最后更新时间不能为空!' ]
									}
								},
								renderer : BUI.Grid.Format.datetimeRenderer
							},
							{
								title : '操作',
								elCls : 'center',
								width : 100,
								renderer : function(value, obj) {
									i++;
									return '<span class="grid-command btn-edit">编辑</span>';
								}
							},

					];

					// 行编辑
				/*	var editing = new Grid.Plugins.RowEditing({
						triggerCls : 'btn-edit',
						triggerSelected : false

					}),*/
					var title='新增或修改';
					 editing = new Grid.Plugins.DialogEditing({
				            contentId : 'content', //设置隐藏的Dialog内容
				            triggerCls : 'btn-edit', //触发显示Dialog的样式
				            editor : {
				              title : title,
				              width : 600,
				            }
				          }),
					// 获取数据
					store = new BUI.Data.Store({
						url : 'listBanner?field=createTime&direction=desc',
						pageSize : 20,
						autoLoad : true,
						remoteSort : true
					});
					
					// 获取表格对象
					gridCfg = Search.createGridCfg(columns, {
						plugins : [ editing, Grid.Plugins.CheckSelection ],
						tbar : { // 添加、删除
							items : [ {
								btnCls : 'button button-small',
								text : '<i class="icon-plus"></i>添加',
								listeners : {
									'click' : addFunction
								}
							}, {
								btnCls : 'button button-small',
								text : '<i class="icon-refresh"></i>刷新',
								listeners : {
									'click' : refreshFunction
								}
							}, {
								btnCls : 'button button-small',
								text : '<i class="icon-remove "></i>删除',
								listeners : {
									'click' : delFunction
								}
							} ]
						},
					});
					// 触发编辑
					 editing.on('editorshow', function(ev) {
						var editor = editing.get('curEditor');
						editor.set('errorAlign', {
							points : [ 'br', 'tr' ],
							offset : [ 0, 10 ]
						});
					}); 

					// 编辑提交
					editing.on('accept', function(ev) {
						var record = editing.get('record');
						
						if($(".bannerImgs").val()!=''){
							record["bannerImg"]=$(".bannerImgs").val();
						}
						if($(".bannerUrls").val()!=''){
							record["bannerUrl"]=$(".bannerUrls").val();
						}
						// console.log(record);
						if (record.hasOwnProperty("b"))
							delete record["b"];
						if (record.hasOwnProperty(""))
							delete record[""];
						if (record.hasOwnProperty("createTime"))
							delete record["createTime"];
						if (record.hasOwnProperty("updateTime"))
							delete record["updateTime"];
						var saveUrl = record["bannerId"] === "" ? 'saveBanner'
								: 'updateBanner';
						jQuery.ajax({
							type : 'POST',
							url : saveUrl,
							dataType : 'json',
							contentType : 'application/json;charset=UTF-8',
							data : JSON.stringify(record),
							complete : function(data) {
								if (data.responseText == "success") { // 删除成功
									search.load();
								} else { // 删除失败
									BUI.Message.Alert('保存失败！');
								}
							}
						});
					});
					// 添加记录
					function addFunction() {
						var newData = {
							b : 0
						};
						store.addAt(newData, 0);
						editing.edit(newData, 'banner'); // 添加记录后，直接编辑
					}
					// 删除选中的记录
					function delFunction() {
						var selections = grid.getSelection();
						delItems(selections);
						store.remove(selections);
					}
					// 刷新
					function refreshFunction() {
						search.load();
					}
					// 删除
					function delItems(items) {
						var ids = "";
						BUI.each(items, function(item) {
							ids += item.bannerId + ",";
						});
						if (ids.length) {
							BUI.Message.Confirm('确认要删除选中的记录么？', function() {
								jQuery.ajax({
									type : 'POST',
									url : 'removeBanner',
									dataType : 'json',
									data : {
										'ids' : ids
									},
									complete : function(data) {
										if (data.responseText == "success") { // 删除成功
											window.opener.document.location.reload()
										} else { // 删除失败
											BUI.Message.Alert('删除失败！');
										}
									}
								});
							}, 'question');
						}
					}
					// 查询
					search = new Search({
						store : store,
						autoSearch : true,
						gridCfg : gridCfg
					});
					grid = search.get('grid');
				});

function upload() {
	//var formData = new FormData($("#uploadFile"));
	var formData = new FormData();
	formData.append("handInputIdHold1", document
			.getElementById("handInputIdHold1").files[0]);
	formData.append("handInputIdHold2",
			document.getElementById("handInputIdHold2").files[0]);

	jQuery.ajax({
		type : 'POST',
		url : "uploadFile",
		data : formData,
		contentType : false,
		processData : false,
		complete : function(data) {
			var json = eval("(" + data.responseText + ")")
			if (json.rescode == "success") { // 上传成功
				BUI.Message.Alert('上传成功！');
				var imgs = json.fileName;
				if (imgs.trim() != '') {
					var arr =imgs.split(';');
					$(".bannerImgs").val(arr[0]);
					$(".bannerUrls").val(arr[1]);
				}
				// search.load();
			} else { // 上传失败
				BUI.Message.Alert('保存失败！');
			}
		}
	});
}